// 路由守卫
import router from '@/router'
import store from '@/store'

// 路由前置守卫
router.beforeEach(async(to, from, next) => {
  // 有token,去登录页面,跳转首页
  if (store.getters.token && to.path === '/login') {
    next('/')
  }
  //  有token,去别的页面,放行
  if (store.getters.token && to.path !== '/login') {
    // 加载用户信息
    if (!store.getters.username) {
      await store.dispatch('user/getUserInfo')
    }
    next()
  }
  // 没有token,去白名单页面,放行
  const whiteList = ['/login', '/404']
  if (!store.getters.token && whiteList.indexOf(to.path) > -1) {
    next()
  }
  // 没有token,去别的页面,跳转登录页
  if (!store.getters.token && whiteList.indexOf(to.path) === -1) {
    next('/login')
  }
})
